#ifndef ITEM_H_INCLUDED_96734256
#define ITEM_H_INCLUDED_96734256
//-----------------------------------------------------------------------------
// Copyright (c) 2011 David Waby
// Initially created on 08/11/2011
//-----------------------------------------------------------------------------

#include "IJsonSerialisable.h"
#include <string>
         
//-----------------------------------------------------------------------------
class Item : public IJsonSerialisable
{
public:
	std::string						m_name;
	std::string						m_description;
	unsigned char					m_stackable;
	Quality::Enum					m_quality;
	EquipableSlot::Enum				m_equippable;
	int								m_buyPrice;
	int								m_sellPrice;
	Bind::Enum						m_bind;
	unsigned char					m_requiredLevel;

	virtual							~Item() {};
	virtual ItemType::Enum			GetItemType() { return ItemType::Miscellaneous; };
	virtual void					Serialise(Json::Value * o_root) const;
	virtual void					Deserialise(Json::Value const * i_root);
};

//-----------------------------------------------------------------------------
#endif // ITEM_H_INCLUDED_96734256